In database-oriented services, fulfilling service requests may include performing one or more calls to databases storing information related to the service. In these types of services, database performance may influence the availability and throughput of the overall service's ability to process requests. If databases are healthy, the service will likely remain available with sufficient throughput. However, if a database is overloaded with too many concurrent database operations, database performance and throughput may decline due to reduced operational health and efficiency. One approach to promote the performance of database-oriented services is to size the database capacity above the requirements of the service. However, even in these cases, the service can receive an uncharacteristically high quantity of incoming requests. Moreover, database capacity may temporarily decrease due to failures within the database hardware or software. Accordingly, even in cases where database capacity is originally sized above the requirements of the service, a database can become over-loaded, ultimately creating a backlog in the requests to be processed by the relying service and increasing the risk of database failure and service outage. Even in cases where a complete service outage does not occur, overloaded databases may reduce efficiency and throughput of relying services.
While the system and method for distributed back-off in a database-oriented environment is described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the system and method for distributed back-off in a database-oriented environment is not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit the system and method for distributed back-off in a database-oriented environment to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the system and method for distributed back-off in a database-oriented environment as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.